CONST	SUSERFLAGS=$FF,
		VSF_VSPRITE=1,
		VSF_SAVEBACK=2,
		VSF_OVERLAY=4,
		VSF_MUSTDRAW=8,
		VSF_BACKSAVED=$100,
		VSF_BOBUPDATE=$200,
		VSF_GELGONE=$400,
		VSF_VSOVERFLOW=$800,
		BUSERFLAGS=$FF,
		BF_SAVEBOB=1,
		BF_BOBISCOMP=2,
		BF_BWAITING=$100,
		BF_BDRAWN=$200,
		BF_BOBSAWAY=$400,
		BF_BOBNIX=$800,
		BF_SAVEPRESERVE=$1000,
		BF_OUTSTEP=$2000,
		ANFRACSIZE=6,
		ANIMHALF=$20,
		RINGTRIGGER=1

OBJECT VS
	NextVSprite:PTR TO VS,
	PrevVSprite:PTR TO VS,
	DrawPath:PTR TO VS,
	ClearPath:PTR TO VS,
	OldY:INT,
	OldX:INT,
	VSFlags:INT,
	Y:INT,
	X:INT,
	Height:INT,
	Width:INT,
	Depth:INT,
	MeMask:INT,
	HitMask:INT,
	ImageData:PTR TO INT,
	BorderLine:PTR TO INT,
	CollMask:PTR TO INT,
	SprColors:PTR TO INT,
	VSBob:PTR TO Bob,
	PlanePick:UBYTE,
	PlaneOnOff:UBYTE,
	VUserExt:LONG

OBJECT Bob
	BobFlags:INT,
	SaveBuffer:PTR TO INT,
	ImageShadow:PTR TO INT,
	Before:PTR TO Bob,
	After:PTR TO Bob,
	BobVSprite:PTR TO VS,
	BobComp:PTR TO AC,
	DBuffer:PTR TO DBP,
	BUserExt:LONG

OBJECT AC
	CompFlags:INT,
	Timer:INT,
	TimeSet:INT,
	NextComp:PTR TO AC,
	PrevComp:PTR TO AC,
	NextSeq:PTR TO AC,
	PrevSeq:PTR TO AC,
	AnimCRoutine:LONG,
	YTrans:INT,
	XTrans:INT,
	HeadOb:PTR TO AO,
	AnimBob:PTR TO Bob

OBJECT AO
	NextOb:PTR TO AO,
	PrevOb:PTR TO AO,
	Clock:LONG,
	AnoldY:INT,
	AnoldX:INT,
	AnY:INT,
	AnX:INT,
	YVel:INT,
	XVel:INT,
	YAccel:INT,
	XAccel:INT,
	RingYTrans:INT,
	RingXTrans:INT,
	AnimORoutine:LONG,
	HeadComp:PTR TO AC,
	AUserExt:LONG

OBJECT DBP
	BufY:INT,
	BufX:INT,
	BufPath:PTR TO VS,
	BufBuffer:PTR TO INT,
	BufPlanes:PTR TO LONG
/*
#define InitAnimate(animKey) PutLong(animKey,NIL)
#define RemBob(b)            PutInt(b, Int(b) OR BF_BOBSAWAY)
*/
CONST	B2NORM=0,
		B2SWAP=1,
		B2BOBBER=2

// Um, this was in 'graphics/view'
OBJECT CollTable
	CollPtrs[16]:LONG
